////////////////////////////////////////////////////////////////////////////
//
//  CryEngine Source File.
//  Copyright (C), Crytek, 1999-2009.
// -------------------------------------------------------------------------
//  File name:   CSoundEventParameterDialog
//  Version:     v1.00
//  Created:     26/10/2009 by Thomas.
//  Description: This the implementation of the CSoundEventParameterDialog
// -------------------------------------------------------------------------
//  History:
//
////////////////////////////////////////////////////////////////////////////

#ifndef __soundeventparameter_h__
#define __soundeventparameter_h__

#if _MSC_VER > 1000
#pragma once
#endif


// CSoundEventParameterDialog dialog

class CSoundEventParameterDialog : public CDialog
{
		DECLARE_DYNAMIC(CSoundEventParameterDialog)

public:
		CSoundEventParameterDialog(CWnd* pParent = NULL);   // standard constructor
		virtual ~CSoundEventParameterDialog();

		// Dialog Data
		enum { IDD = IDD_SOUND_EVENTPARAMETER };

		void                    SetName(char const* const pcName);
		char const* const       GetName() const { return m_sParameterName.GetString(); }
		void                    SetCurrentValue(float const iCurrentValue);
		float                   GetCurrentValue() const;
		void                    SetRange(float const fRangeMin, float const fRangeMax);
		void                    SetSoundID(tSoundID const nSoundID);
		inline void             SetIndex(int const nIndex){m_nIndex = nIndex;}
		inline void             SetParamType(enumSoundParamSemantics const eType) { m_eType = eType; }
		inline void             SetSliderWidthMultiplier(float const fMultiplier) { m_fSliderWidthMultiplier = fMultiplier; }

private:
		void										ArrangeChildren();
		tSoundID                m_nSoundID;
		int                     m_nIndex;
		enumSoundParamSemantics m_eType;
		float                   m_fSliderWidthMultiplier;
		CString                 m_sParameterName;

protected:
		virtual void            DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
		virtual BOOL            OnInitDialog();

		DECLARE_MESSAGE_MAP()

public:
		afx_msg void            OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
		afx_msg void            OnSize(UINT nType, int cx, int cy);
};

#endif //__soundeventparameter_h__